/**
** The original 3x5 font is licensed under the 3-clause BSD license:
**
** Copyright 1999 Brian J. Swetland
** Copyright 1999 Vassilii Khachaturov
** Portions (of vt100.c/vt100.h) copyright Dan Marks
**
** All rights reserved.
**
** Redistribution and use in source and binary forms, with or without
** modification, are permitted provided that the following conditions
** are met:
** 1. Redistributions of source code must retain the above copyright
**    notice, this list of conditions, and the following disclaimer.
** 2. Redistributions in binary form must reproduce the above copyright
**    notice, this list of conditions, and the following disclaimer in the
**    documentation and/or other materials provided with the distribution.
** 3. The name of the authors may not be used to endorse or promote products
**    derived from this software without specific prior written permission.
**
** THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
** IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
** OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
** IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
** INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
** NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
** THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
**
** Modifications to Tom Thumb for improved readability are from Robey Pointer,
** see:
** http://robey.lag.net/2010/01/23/tiny-monospace-font.html
**
** The original author does not have any objection to relicensing of Robey
** Pointer's modifications (in this file) in a more permissive license.  See
** the discussion at the above blog, and also here:
** http://opengameart.org/forumtopic/how-to-submit-art-using-the-3-clause-bsd-license
**
** Feb 21, 2016: Conversion from Linux BDF --> Adafruit GFX font,
** with the help of this Python script:
** https://gist.github.com/skelliam/322d421f028545f16f6d
** William Skellenger (williamj@skellenger.net)
** Twitter: @skelliam
**
*/

#define TOMTHUMB_USE_EXTENDED 0

const uint8_t TomThumbBitmaps[] PROGMEM = {
    0x00,                                /* 0x20 space */
    0x80, 0x80, 0x80, 0x00, 0x80,        /* 0x21 exclam */
    0xA0, 0xA0,                          /* 0x22 quotedbl */
    0xA0, 0xE0, 0xA0, 0xE0, 0xA0,        /* 0x23 numbersign */
    0x60, 0xC0, 0x60, 0xC0, 0x40,        /* 0x24 dollar */
    0x80, 0x20, 0x40, 0x80, 0x20,        /* 0x25 percent */
    0xC0, 0xC0, 0xE0, 0xA0, 0x60,        /* 0x26 ampersand */
    0x80, 0x80,                          /* 0x27 quotesingle */
    0x40, 0x80, 0x80, 0x80, 0x40,        /* 0x28 parenleft */
    0x80, 0x40, 0x40, 0x40, 0x80,        /* 0x29 parenright */
    0xA0, 0x40, 0xA0,                    /* 0x2A asterisk */
    0x40, 0xE0, 0x40,                    /* 0x2B plus */
    0x40, 0x80,                          /* 0x2C comma */
    0xE0,                                /* 0x2D hyphen */
    0x80,                                /* 0x2E period */
    0x20, 0x20, 0x40, 0x80, 0x80,        /* 0x2F slash */
    0x60, 0xA0, 0xA0, 0xA0, 0xC0,        /* 0x30 zero */
    0x40, 0xC0, 0x40, 0x40, 0x40,        /* 0x31 one */
    0xC0, 0x20, 0x40, 0x80, 0xE0,        /* 0x32 two */
    0xC0, 0x20, 0x40, 0x20, 0xC0,        /* 0x33 three */
    0xA0, 0xA0, 0xE0, 0x20, 0x20,        /* 0x34 four */
    0xE0, 0x80, 0xC0, 0x20, 0xC0,        /* 0x35 five */
    0x60, 0x80, 0xE0, 0xA0, 0xE0,        /* 0x36 six */
    0xE0, 0x20, 0x40, 0x80, 0x80,        /* 0x37 seven */
    0xE0, 0xA0, 0xE0, 0xA0, 0xE0,        /* 0x38 eight */
    0xE0, 0xA0, 0xE0, 0x20, 0xC0,        /* 0x39 nine */
    0x80, 0x00, 0x80,                    /* 0x3A colon */
    0x40, 0x00, 0x40, 0x80,              /* 0x3B semicolon */
    0x20, 0x40, 0x80, 0x40, 0x20,        /* 0x3C less */
    0xE0, 0x00, 0xE0,                    /* 0x3D equal */
    0x80, 0x40, 0x20, 0x40, 0x80,        /* 0x3E greater */
    0xE0, 0x20, 0x40, 0x00, 0x40,        /* 0x3F question */
    0x40, 0xA0, 0xE0, 0x80, 0x60,        /* 0x40 at */
    0x40, 0xA0, 0xE0, 0xA0, 0xA0,        /* 0x41 A */
    0xC0, 0xA0, 0xC0, 0xA0, 0xC0,        /* 0x42 B */
    0x60, 0x80, 0x80, 0x80, 0x60,        /* 0x43 C */
    0xC0, 0xA0, 0xA0, 0xA0, 0xC0,        /* 0x44 D */
    0xE0, 0x80, 0xE0, 0x80, 0xE0,        /* 0x45 E */
    0xE0, 0x80, 0xE0, 0x80, 0x80,        /* 0x46 F */
    0x60, 0x80, 0xE0, 0xA0, 0x60,        /* 0x47 G */
    0xA0, 0xA0, 0xE0, 0xA0, 0xA0,        /* 0x48 H */
    0xE0, 0x40, 0x40, 0x40, 0xE0,        /* 0x49 I */
    0x20, 0x20, 0x20, 0xA0, 0x40,        /* 0x4A J */
    0xA0, 0xA0, 0xC0, 0xA0, 0xA0,        /* 0x4B K */
    0x80, 0x80, 0x80, 0x80, 0xE0,        /* 0x4C L */
    0xA0, 0xE0, 0xE0, 0xA0, 0xA0,        /* 0x4D M */
    0xA0, 0xE0, 0xE0, 0xE0, 0xA0,        /* 0x4E N */
    0x40, 0xA0, 0xA0, 0xA0, 0x40,        /* 0x4F O */
    0xC0, 0xA0, 0xC0, 0x80, 0x80,        /* 0x50 P */
    0x40, 0xA0, 0xA0, 0xE0, 0x60,        /* 0x51 Q */
    0xC0, 0xA0, 0xE0, 0xC0, 0xA0,        /* 0x52 R */
    0x60, 0x80, 0x40, 0x20, 0xC0,        /* 0x53 S */
    0xE0, 0x40, 0x40, 0x40, 0x40,        /* 0x54 T */
    0xA0, 0xA0, 0xA0, 0xA0, 0x60,        /* 0x55 U */
    0xA0, 0xA0, 0xA0, 0x40, 0x40,        /* 0x56 V */
    0xA0, 0xA0, 0xE0, 0xE0, 0xA0,        /* 0x57 W */
    0xA0, 0xA0, 0x40, 0xA0, 0xA0,        /* 0x58 X */
    0xA0, 0xA0, 0x40, 0x40, 0x40,        /* 0x59 Y */
    0xE0, 0x20, 0x40, 0x80, 0xE0,        /* 0x5A Z */
    0xE0, 0x80, 0x80, 0x80, 0xE0,        /* 0x5B bracketleft */
    0x80, 0x40, 0x20,                    /* 0x5C backslash */
    0xE0, 0x20, 0x20, 0x20, 0xE0,        /* 0x5D bracketright */
    0x40, 0xA0,                          /* 0x5E asciicircum */
    0xE0,                                /* 0x5F underscore */
    0x80, 0x40,                          /* 0x60 grave */
    0xC0, 0x60, 0xA0, 0xE0,              /* 0x61 a */
    0x80, 0xC0, 0xA0, 0xA0, 0xC0,        /* 0x62 b */
    0x60, 0x80, 0x80, 0x60,              /* 0x63 c */
    0x20, 0x60, 0xA0, 0xA0, 0x60,        /* 0x64 d */
    0x60, 0xA0, 0xC0, 0x60,              /* 0x65 e */
    0x20, 0x40, 0xE0, 0x40, 0x40,        /* 0x66 f */
    0x60, 0xA0, 0xE0, 0x20, 0x40,        /* 0x67 g */
    0x80, 0xC0, 0xA0, 0xA0, 0xA0,        /* 0x68 h */
    0x80, 0x00, 0x80, 0x80, 0x80,        /* 0x69 i */
    0x20, 0x00, 0x20, 0x20, 0xA0, 0x40,  /* 0x6A j */
    0x80, 0xA0, 0xC0, 0xC0, 0xA0,        /* 0x6B k */
    0xC0, 0x40, 0x40, 0x40, 0xE0,        /* 0x6C l */
    0xE0, 0xE0, 0xE0, 0xA0,              /* 0x6D m */
    0xC0, 0xA0, 0xA0, 0xA0,              /* 0x6E n */
    0x40, 0xA0, 0xA0, 0x40,              /* 0x6F o */
    0xC0, 0xA0, 0xA0, 0xC0, 0x80,        /* 0x70 p */
    0x60, 0xA0, 0xA0, 0x60, 0x20,        /* 0x71 q */
    0x60, 0x80, 0x80, 0x80,              /* 0x72 r */
    0x60, 0xC0, 0x60, 0xC0,              /* 0x73 s */
    0x40, 0xE0, 0x40, 0x40, 0x60,        /* 0x74 t */
    0xA0, 0xA0, 0xA0, 0x60,              /* 0x75 u */
    0xA0, 0xA0, 0xE0, 0x40,              /* 0x76 v */
    0xA0, 0xE0, 0xE0, 0xE0,              /* 0x77 w */
    0xA0, 0x40, 0x40, 0xA0,              /* 0x78 x */
    0xA0, 0xA0, 0x60, 0x20, 0x40,        /* 0x79 y */
    0xE0, 0x60, 0xC0, 0xE0,              /* 0x7A z */
    0x60, 0x40, 0x80, 0x40, 0x60,        /* 0x7B braceleft */
    0x80, 0x80, 0x00, 0x80, 0x80,        /* 0x7C bar */
    0xC0, 0x40, 0x20, 0x40, 0xC0,        /* 0x7D braceright */
    0x60, 0xC0,                          /* 0x7E asciitilde */
    #if (TOMTHUMB_USE_EXTENDED)
    0x80, 0x00, 0x80, 0x80, 0x80,        /* 0xA1 exclamdown */
    0x40, 0xE0, 0x80, 0xE0, 0x40,        /* 0xA2 cent */
    0x60, 0x40, 0xE0, 0x40, 0xE0,        /* 0xA3 sterling */
    0xA0, 0x40, 0xE0, 0x40, 0xA0,        /* 0xA4 currency */
    0xA0, 0xA0, 0x40, 0xE0, 0x40,        /* 0xA5 yen */
    0x80, 0x80, 0x00, 0x80, 0x80,        /* 0xA6 brokenbar */
    0x60, 0x40, 0xA0, 0x40, 0xC0,        /* 0xA7 section */
    0xA0,                                /* 0xA8 dieresis */
    0x60, 0x80, 0x60,                    /* 0xA9 copyright */
    0x60, 0xA0, 0xE0, 0x00, 0xE0,        /* 0xAA ordfeminine */
    0x40, 0x80, 0x40,                    /* 0xAB guillemotleft */
    0xE0, 0x20,                          /* 0xAC logicalnot */
    0xC0,                                /* 0xAD softhyphen */
    0xC0, 0xC0, 0xA0,                    /* 0xAE registered */
    0xE0,                                /* 0xAF macron */
    0x40, 0xA0, 0x40,                    /* 0xB0 degree */
    0x40, 0xE0, 0x40, 0x00, 0xE0,        /* 0xB1 plusminus */
    0xC0, 0x40, 0x60,                    /* 0xB2 twosuperior */
    0xE0, 0x60, 0xE0,                    /* 0xB3 threesuperior */
    0x40, 0x80,                          /* 0xB4 acute */
    0xA0, 0xA0, 0xA0, 0xC0, 0x80,        /* 0xB5 mu */
    0x60, 0xA0, 0x60, 0x60, 0x60,        /* 0xB6 paragraph */
    0xE0, 0xE0, 0xE0,                    /* 0xB7 periodcentered */
    0x40, 0x20, 0xC0,                    /* 0xB8 cedilla */
    0x80, 0x80, 0x80,                    /* 0xB9 onesuperior */
    0x40, 0xA0, 0x40, 0x00, 0xE0,        /* 0xBA ordmasculine */
    0x80, 0x40, 0x80,                    /* 0xBB guillemotright */
    0x80, 0x80, 0x00, 0x60, 0x20,        /* 0xBC onequarter */
    0x80, 0x80, 0x00, 0xC0, 0x60,        /* 0xBD onehalf */
    0xC0, 0xC0, 0x00, 0x60, 0x20,        /* 0xBE threequarters */
    0x40, 0x00, 0x40, 0x80, 0xE0,        /* 0xBF questiondown */
    0x40, 0x20, 0x40, 0xE0, 0xA0,        /* 0xC0 Agrave */
    0x40, 0x80, 0x40, 0xE0, 0xA0,        /* 0xC1 Aacute */
    0xE0, 0x00, 0x40, 0xE0, 0xA0,        /* 0xC2 Acircumflex */
    0x60, 0xC0, 0x40, 0xE0, 0xA0,        /* 0xC3 Atilde */
    0xA0, 0x40, 0xA0, 0xE0, 0xA0,        /* 0xC4 Adieresis */
    0xC0, 0xC0, 0xA0, 0xE0, 0xA0,        /* 0xC5 Aring */
    0x60, 0xC0, 0xE0, 0xC0, 0xE0,        /* 0xC6 AE */
    0x60, 0x80, 0x80, 0x60, 0x20, 0x40,  /* 0xC7 Ccedilla */
    0x40, 0x20, 0xE0, 0xC0, 0xE0,        /* 0xC8 Egrave */
    0x40, 0x80, 0xE0, 0xC0, 0xE0,        /* 0xC9 Eacute */
    0xE0, 0x00, 0xE0, 0xC0, 0xE0,        /* 0xCA Ecircumflex */
    0xA0, 0x00, 0xE0, 0xC0, 0xE0,        /* 0xCB Edieresis */
    0x40, 0x20, 0xE0, 0x40, 0xE0,        /* 0xCC Igrave */
    0x40, 0x80, 0xE0, 0x40, 0xE0,        /* 0xCD Iacute */
    0xE0, 0x00, 0xE0, 0x40, 0xE0,        /* 0xCE Icircumflex */
    0xA0, 0x00, 0xE0, 0x40, 0xE0,        /* 0xCF Idieresis */
    0xC0, 0xA0, 0xE0, 0xA0, 0xC0,        /* 0xD0 Eth */
    0xC0, 0x60, 0xA0, 0xE0, 0xA0,        /* 0xD1 Ntilde */
    0x40, 0x20, 0xE0, 0xA0, 0xE0,        /* 0xD2 Ograve */
    0x40, 0x80, 0xE0, 0xA0, 0xE0,        /* 0xD3 Oacute */
    0xE0, 0x00, 0xE0, 0xA0, 0xE0,        /* 0xD4 Ocircumflex */
    0xC0, 0x60, 0xE0, 0xA0, 0xE0,        /* 0xD5 Otilde */
    0xA0, 0x00, 0xE0, 0xA0, 0xE0,        /* 0xD6 Odieresis */
    0xA0, 0x40, 0xA0,                    /* 0xD7 multiply */
    0x60, 0xA0, 0xE0, 0xA0, 0xC0,        /* 0xD8 Oslash */
    0x80, 0x40, 0xA0, 0xA0, 0xE0,        /* 0xD9 Ugrave */
    0x20, 0x40, 0xA0, 0xA0, 0xE0,        /* 0xDA Uacute */
    0xE0, 0x00, 0xA0, 0xA0, 0xE0,        /* 0xDB Ucircumflex */
    0xA0, 0x00, 0xA0, 0xA0, 0xE0,        /* 0xDC Udieresis */
    0x20, 0x40, 0xA0, 0xE0, 0x40,        /* 0xDD Yacute */
    0x80, 0xE0, 0xA0, 0xE0, 0x80,        /* 0xDE Thorn */
    0x60, 0xA0, 0xC0, 0xA0, 0xC0, 0x80,  /* 0xDF germandbls */
    0x40, 0x20, 0x60, 0xA0, 0xE0,        /* 0xE0 agrave */
    0x40, 0x80, 0x60, 0xA0, 0xE0,        /* 0xE1 aacute */
    0xE0, 0x00, 0x60, 0xA0, 0xE0,        /* 0xE2 acircumflex */
    0x60, 0xC0, 0x60, 0xA0, 0xE0,        /* 0xE3 atilde */
    0xA0, 0x00, 0x60, 0xA0, 0xE0,        /* 0xE4 adieresis */
    0x60, 0x60, 0x60, 0xA0, 0xE0,        /* 0xE5 aring */
    0x60, 0xE0, 0xE0, 0xC0,              /* 0xE6 ae */
    0x60, 0x80, 0x60, 0x20, 0x40,        /* 0xE7 ccedilla */
    0x40, 0x20, 0x60, 0xE0, 0x60,        /* 0xE8 egrave */
    0x40, 0x80, 0x60, 0xE0, 0x60,        /* 0xE9 eacute */
    0xE0, 0x00, 0x60, 0xE0, 0x60,        /* 0xEA ecircumflex */
    0xA0, 0x00, 0x60, 0xE0, 0x60,        /* 0xEB edieresis */
    0x80, 0x40, 0x80, 0x80, 0x80,        /* 0xEC igrave */
    0x40, 0x80, 0x40, 0x40, 0x40,        /* 0xED iacute */
    0xE0, 0x00, 0x40, 0x40, 0x40,        /* 0xEE icircumflex */
    0xA0, 0x00, 0x40, 0x40, 0x40,        /* 0xEF idieresis */
    0x60, 0xC0, 0x60, 0xA0, 0x60,        /* 0xF0 eth */
    0xC0, 0x60, 0xC0, 0xA0, 0xA0,        /* 0xF1 ntilde */
    0x40, 0x20, 0x40, 0xA0, 0x40,        /* 0xF2 ograve */
    0x40, 0x80, 0x40, 0xA0, 0x40,        /* 0xF3 oacute */
    0xE0, 0x00, 0x40, 0xA0, 0x40,        /* 0xF4 ocircumflex */
    0xC0, 0x60, 0x40, 0xA0, 0x40,        /* 0xF5 otilde */
    0xA0, 0x00, 0x40, 0xA0, 0x40,        /* 0xF6 odieresis */
    0x40, 0x00, 0xE0, 0x00, 0x40,        /* 0xF7 divide */
    0x60, 0xE0, 0xA0, 0xC0,              /* 0xF8 oslash */
    0x80, 0x40, 0xA0, 0xA0, 0x60,        /* 0xF9 ugrave */
    0x20, 0x40, 0xA0, 0xA0, 0x60,        /* 0xFA uacute */
    0xE0, 0x00, 0xA0, 0xA0, 0x60,        /* 0xFB ucircumflex */
    0xA0, 0x00, 0xA0, 0xA0, 0x60,        /* 0xFC udieresis */
    0x20, 0x40, 0xA0, 0x60, 0x20, 0x40,  /* 0xFD yacute */
    0x80, 0xC0, 0xA0, 0xC0, 0x80,        /* 0xFE thorn */
    0xA0, 0x00, 0xA0, 0x60, 0x20, 0x40,  /* 0xFF ydieresis */
    0x00,                                /* 0x11D gcircumflex */
    0x60, 0xC0, 0xE0, 0xC0, 0x60,        /* 0x152 OE */
    0x60, 0xE0, 0xC0, 0xE0,              /* 0x153 oe */
    0xA0, 0x60, 0xC0, 0x60, 0xC0,        /* 0x160 Scaron */
    0xA0, 0x60, 0xC0, 0x60, 0xC0,        /* 0x161 scaron */
    0xA0, 0x00, 0xA0, 0x40, 0x40,        /* 0x178 Ydieresis */
    0xA0, 0xE0, 0x60, 0xC0, 0xE0,        /* 0x17D Zcaron */
    0xA0, 0xE0, 0x60, 0xC0, 0xE0,        /* 0x17E zcaron */
    0x00,                                /* 0xEA4 uni0EA4 */
    0x00,                                /* 0x13A0 uni13A0 */
    0x80,                                /* 0x2022 bullet */
    0xA0,                                /* 0x2026 ellipsis */
    0x60, 0xE0, 0xE0, 0xC0, 0x60,        /* 0x20AC Euro */
    0xE0, 0xA0, 0xA0, 0xA0, 0xE0,        /* 0xFFFD uniFFFD */
    #endif /* (TOMTHUMB_USE_EXTENDED)  */
};


/* {offset, width, height, advance cursor, x offset, y offset} */
const GFXglyph TomThumbGlyphs[] PROGMEM = {
    { 0, 8, 1, 2, 0, -5 },    /* 0x20 space */
    { 1, 8, 5, 2, 0, -5 },    /* 0x21 exclam */
    { 6, 8, 2, 4, 0, -5 },    /* 0x22 quotedbl */
    { 8, 8, 5, 4, 0, -5 },    /* 0x23 numbersign */
    { 13, 8, 5, 4, 0, -5 },   /* 0x24 dollar */
    { 18, 8, 5, 4, 0, -5 },   /* 0x25 percent */
    { 23, 8, 5, 4, 0, -5 },   /* 0x26 ampersand */
    { 28, 8, 2, 2, 0, -5 },   /* 0x27 quotesingle */
    { 30, 8, 5, 3, 0, -5 },   /* 0x28 parenleft */
    { 35, 8, 5, 3, 0, -5 },   /* 0x29 parenright */
    { 40, 8, 3, 4, 0, -5 },   /* 0x2A asterisk */
    { 43, 8, 3, 4, 0, -4 },   /* 0x2B plus */
    { 46, 8, 2, 3, 0, -2 },   /* 0x2C comma */
    { 48, 8, 1, 4, 0, -3 },   /* 0x2D hyphen */
    { 49, 8, 1, 2, 0, -1 },   /* 0x2E period */
    { 50, 8, 5, 4, 0, -5 },   /* 0x2F slash */
    { 55, 8, 5, 4, 0, -5 },   /* 0x30 zero */
    { 60, 8, 5, 3, 0, -5 },   /* 0x31 one */
    { 65, 8, 5, 4, 0, -5 },   /* 0x32 two */
    { 70, 8, 5, 4, 0, -5 },   /* 0x33 three */
    { 75, 8, 5, 4, 0, -5 },   /* 0x34 four */
    { 80, 8, 5, 4, 0, -5 },   /* 0x35 five */
    { 85, 8, 5, 4, 0, -5 },   /* 0x36 six */
    { 90, 8, 5, 4, 0, -5 },   /* 0x37 seven */
    { 95, 8, 5, 4, 0, -5 },   /* 0x38 eight */
    { 100, 8, 5, 4, 0, -5 },  /* 0x39 nine */
    { 105, 8, 3, 2, 0, -4 },  /* 0x3A colon */
    { 108, 8, 4, 3, 0, -4 },  /* 0x3B semicolon */
    { 112, 8, 5, 4, 0, -5 },  /* 0x3C less */
    { 117, 8, 3, 4, 0, -4 },  /* 0x3D equal */
    { 120, 8, 5, 4, 0, -5 },  /* 0x3E greater */
    { 125, 8, 5, 4, 0, -5 },  /* 0x3F question */
    { 130, 8, 5, 4, 0, -5 },  /* 0x40 at */
    { 135, 8, 5, 4, 0, -5 },  /* 0x41 A */
    { 140, 8, 5, 4, 0, -5 },  /* 0x42 B */
    { 145, 8, 5, 4, 0, -5 },  /* 0x43 C */
    { 150, 8, 5, 4, 0, -5 },  /* 0x44 D */
    { 155, 8, 5, 4, 0, -5 },  /* 0x45 E */
    { 160, 8, 5, 4, 0, -5 },  /* 0x46 F */
    { 165, 8, 5, 4, 0, -5 },  /* 0x47 G */
    { 170, 8, 5, 4, 0, -5 },  /* 0x48 H */
    { 175, 8, 5, 4, 0, -5 },  /* 0x49 I */
    { 180, 8, 5, 4, 0, -5 },  /* 0x4A J */
    { 185, 8, 5, 4, 0, -5 },  /* 0x4B K */
    { 190, 8, 5, 4, 0, -5 },  /* 0x4C L */
    { 195, 8, 5, 4, 0, -5 },  /* 0x4D M */
    { 200, 8, 5, 4, 0, -5 },  /* 0x4E N */
    { 205, 8, 5, 4, 0, -5 },  /* 0x4F O */
    { 210, 8, 5, 4, 0, -5 },  /* 0x50 P */
    { 215, 8, 5, 4, 0, -5 },  /* 0x51 Q */
    { 220, 8, 5, 4, 0, -5 },  /* 0x52 R */
    { 225, 8, 5, 4, 0, -5 },  /* 0x53 S */
    { 230, 8, 5, 4, 0, -5 },  /* 0x54 T */
    { 235, 8, 5, 4, 0, -5 },  /* 0x55 U */
    { 240, 8, 5, 4, 0, -5 },  /* 0x56 V */
    { 245, 8, 5, 4, 0, -5 },  /* 0x57 W */
    { 250, 8, 5, 4, 0, -5 },  /* 0x58 X */
    { 255, 8, 5, 4, 0, -5 },  /* 0x59 Y */
    { 260, 8, 5, 4, 0, -5 },  /* 0x5A Z */
    { 265, 8, 5, 4, 0, -5 },  /* 0x5B bracketleft */
    { 270, 8, 3, 4, 0, -4 },  /* 0x5C backslash */
    { 273, 8, 5, 4, 0, -5 },  /* 0x5D bracketright */
    { 278, 8, 2, 4, 0, -5 },  /* 0x5E asciicircum */
    { 280, 8, 1, 4, 0, -1 },  /* 0x5F underscore */
    { 281, 8, 2, 3, 0, -5 },  /* 0x60 grave */
    { 283, 8, 4, 4, 0, -4 },  /* 0x61 a */
    { 287, 8, 5, 4, 0, -5 },  /* 0x62 b */
    { 292, 8, 4, 4, 0, -4 },  /* 0x63 c */
    { 296, 8, 5, 4, 0, -5 },  /* 0x64 d */
    { 301, 8, 4, 4, 0, -4 },  /* 0x65 e */
    { 305, 8, 5, 4, 0, -5 },  /* 0x66 f */
    { 310, 8, 5, 4, 0, -4 },  /* 0x67 g */
    { 315, 8, 5, 4, 0, -5 },  /* 0x68 h */
    { 320, 8, 5, 2, 0, -5 },  /* 0x69 i */
    { 325, 8, 6, 4, 0, -5 },  /* 0x6A j */
    { 331, 8, 5, 4, 0, -5 },  /* 0x6B k */
    { 336, 8, 5, 4, 0, -5 },  /* 0x6C l */
    { 341, 8, 4, 4, 0, -4 },  /* 0x6D m */
    { 345, 8, 4, 4, 0, -4 },  /* 0x6E n */
    { 349, 8, 4, 4, 0, -4 },  /* 0x6F o */
    { 353, 8, 5, 4, 0, -4 },  /* 0x70 p */
    { 358, 8, 5, 4, 0, -4 },  /* 0x71 q */
    { 363, 8, 4, 4, 0, -4 },  /* 0x72 r */
    { 367, 8, 4, 4, 0, -4 },  /* 0x73 s */
    { 371, 8, 5, 4, 0, -5 },  /* 0x74 t */
    { 376, 8, 4, 4, 0, -4 },  /* 0x75 u */
    { 380, 8, 4, 4, 0, -4 },  /* 0x76 v */
    { 384, 8, 4, 4, 0, -4 },  /* 0x77 w */
    { 388, 8, 4, 4, 0, -4 },  /* 0x78 x */
    { 392, 8, 5, 4, 0, -4 },  /* 0x79 y */
    { 397, 8, 4, 4, 0, -4 },  /* 0x7A z */
    { 401, 8, 5, 4, 0, -5 },  /* 0x7B braceleft */
    { 406, 8, 5, 2, 0, -5 },  /* 0x7C bar */
    { 411, 8, 5, 4, 0, -5 },  /* 0x7D braceright */
    { 416, 8, 2, 4, 0, -5 },  /* 0x7E asciitilde */
    #if (TOMTHUMB_USE_EXTENDED)
    { 418, 8, 5, 2, 0, -5 },  /* 0xA1 exclamdown */
    { 423, 8, 5, 4, 0, -5 },  /* 0xA2 cent */
    { 428, 8, 5, 4, 0, -5 },  /* 0xA3 sterling */
    { 433, 8, 5, 4, 0, -5 },  /* 0xA4 currency */
    { 438, 8, 5, 4, 0, -5 },  /* 0xA5 yen */
    { 443, 8, 5, 2, 0, -5 },  /* 0xA6 brokenbar */
    { 448, 8, 5, 4, 0, -5 },  /* 0xA7 section */
    { 453, 8, 1, 4, 0, -5 },  /* 0xA8 dieresis */
    { 454, 8, 3, 4, 0, -5 },  /* 0xA9 copyright */
    { 457, 8, 5, 4, 0, -5 },  /* 0xAA ordfeminine */
    { 462, 8, 3, 3, 0, -5 },  /* 0xAB guillemotleft */
    { 465, 8, 2, 4, 0, -4 },  /* 0xAC logicalnot */
    { 467, 8, 1, 3, 0, -3 },  /* 0xAD softhyphen */
    { 468, 8, 3, 4, 0, -5 },  /* 0xAE registered */
    { 471, 8, 1, 4, 0, -5 },  /* 0xAF macron */
    { 472, 8, 3, 4, 0, -5 },  /* 0xB0 degree */
    { 475, 8, 5, 4, 0, -5 },  /* 0xB1 plusminus */
    { 480, 8, 3, 4, 0, -5 },  /* 0xB2 twosuperior */
    { 483, 8, 3, 4, 0, -5 },  /* 0xB3 threesuperior */
    { 486, 8, 2, 3, 0, -5 },  /* 0xB4 acute */
    { 488, 8, 5, 4, 0, -5 },  /* 0xB5 mu */
    { 493, 8, 5, 4, 0, -5 },  /* 0xB6 paragraph */
    { 498, 8, 3, 4, 0, -4 },  /* 0xB7 periodcentered */
    { 501, 8, 3, 4, 0, -3 },  /* 0xB8 cedilla */
    { 504, 8, 3, 2, 0, -5 },  /* 0xB9 onesuperior */
    { 507, 8, 5, 4, 0, -5 },  /* 0xBA ordmasculine */
    { 512, 8, 3, 3, 0, -5 },  /* 0xBB guillemotright */
    { 515, 8, 5, 4, 0, -5 },  /* 0xBC onequarter */
    { 520, 8, 5, 4, 0, -5 },  /* 0xBD onehalf */
    { 525, 8, 5, 4, 0, -5 },  /* 0xBE threequarters */
    { 530, 8, 5, 4, 0, -5 },  /* 0xBF questiondown */
    { 535, 8, 5, 4, 0, -5 },  /* 0xC0 Agrave */
    { 540, 8, 5, 4, 0, -5 },  /* 0xC1 Aacute */
    { 545, 8, 5, 4, 0, -5 },  /* 0xC2 Acircumflex */
    { 550, 8, 5, 4, 0, -5 },  /* 0xC3 Atilde */
    { 555, 8, 5, 4, 0, -5 },  /* 0xC4 Adieresis */
    { 560, 8, 5, 4, 0, -5 },  /* 0xC5 Aring */
    { 565, 8, 5, 4, 0, -5 },  /* 0xC6 AE */
    { 570, 8, 6, 4, 0, -5 },  /* 0xC7 Ccedilla */
    { 576, 8, 5, 4, 0, -5 },  /* 0xC8 Egrave */
    { 581, 8, 5, 4, 0, -5 },  /* 0xC9 Eacute */
    { 586, 8, 5, 4, 0, -5 },  /* 0xCA Ecircumflex */
    { 591, 8, 5, 4, 0, -5 },  /* 0xCB Edieresis */
    { 596, 8, 5, 4, 0, -5 },  /* 0xCC Igrave */
    { 601, 8, 5, 4, 0, -5 },  /* 0xCD Iacute */
    { 606, 8, 5, 4, 0, -5 },  /* 0xCE Icircumflex */
    { 611, 8, 5, 4, 0, -5 },  /* 0xCF Idieresis */
    { 616, 8, 5, 4, 0, -5 },  /* 0xD0 Eth */
    { 621, 8, 5, 4, 0, -5 },  /* 0xD1 Ntilde */
    { 626, 8, 5, 4, 0, -5 },  /* 0xD2 Ograve */
    { 631, 8, 5, 4, 0, -5 },  /* 0xD3 Oacute */
    { 636, 8, 5, 4, 0, -5 },  /* 0xD4 Ocircumflex */
    { 641, 8, 5, 4, 0, -5 },  /* 0xD5 Otilde */
    { 646, 8, 5, 4, 0, -5 },  /* 0xD6 Odieresis */
    { 651, 8, 3, 4, 0, -4 },  /* 0xD7 multiply */
    { 654, 8, 5, 4, 0, -5 },  /* 0xD8 Oslash */
    { 659, 8, 5, 4, 0, -5 },  /* 0xD9 Ugrave */
    { 664, 8, 5, 4, 0, -5 },  /* 0xDA Uacute */
    { 669, 8, 5, 4, 0, -5 },  /* 0xDB Ucircumflex */
    { 674, 8, 5, 4, 0, -5 },  /* 0xDC Udieresis */
    { 679, 8, 5, 4, 0, -5 },  /* 0xDD Yacute */
    { 684, 8, 5, 4, 0, -5 },  /* 0xDE Thorn */
    { 689, 8, 6, 4, 0, -5 },  /* 0xDF germandbls */
    { 695, 8, 5, 4, 0, -5 },  /* 0xE0 agrave */
    { 700, 8, 5, 4, 0, -5 },  /* 0xE1 aacute */
    { 705, 8, 5, 4, 0, -5 },  /* 0xE2 acircumflex */
    { 710, 8, 5, 4, 0, -5 },  /* 0xE3 atilde */
    { 715, 8, 5, 4, 0, -5 },  /* 0xE4 adieresis */
    { 720, 8, 5, 4, 0, -5 },  /* 0xE5 aring */
    { 725, 8, 4, 4, 0, -4 },  /* 0xE6 ae */
    { 729, 8, 5, 4, 0, -4 },  /* 0xE7 ccedilla */
    { 734, 8, 5, 4, 0, -5 },  /* 0xE8 egrave */
    { 739, 8, 5, 4, 0, -5 },  /* 0xE9 eacute */
    { 744, 8, 5, 4, 0, -5 },  /* 0xEA ecircumflex */
    { 749, 8, 5, 4, 0, -5 },  /* 0xEB edieresis */
    { 754, 8, 5, 3, 0, -5 },  /* 0xEC igrave */
    { 759, 8, 5, 3, 0, -5 },  /* 0xED iacute */
    { 764, 8, 5, 4, 0, -5 },  /* 0xEE icircumflex */
    { 769, 8, 5, 4, 0, -5 },  /* 0xEF idieresis */
    { 774, 8, 5, 4, 0, -5 },  /* 0xF0 eth */
    { 779, 8, 5, 4, 0, -5 },  /* 0xF1 ntilde */
    { 784, 8, 5, 4, 0, -5 },  /* 0xF2 ograve */
    { 789, 8, 5, 4, 0, -5 },  /* 0xF3 oacute */
    { 794, 8, 5, 4, 0, -5 },  /* 0xF4 ocircumflex */
    { 799, 8, 5, 4, 0, -5 },  /* 0xF5 otilde */
    { 804, 8, 5, 4, 0, -5 },  /* 0xF6 odieresis */
    { 809, 8, 5, 4, 0, -5 },  /* 0xF7 divide */
    { 814, 8, 4, 4, 0, -4 },  /* 0xF8 oslash */
    { 818, 8, 5, 4, 0, -5 },  /* 0xF9 ugrave */
    { 823, 8, 5, 4, 0, -5 },  /* 0xFA uacute */
    { 828, 8, 5, 4, 0, -5 },  /* 0xFB ucircumflex */
    { 833, 8, 5, 4, 0, -5 },  /* 0xFC udieresis */
    { 838, 8, 6, 4, 0, -5 },  /* 0xFD yacute */
    { 844, 8, 5, 4, 0, -4 },  /* 0xFE thorn */
    { 849, 8, 6, 4, 0, -5 },  /* 0xFF ydieresis */
    { 855, 8, 1, 2, 0, -1 },  /* 0x11D gcircumflex */
    { 856, 8, 5, 4, 0, -5 },  /* 0x152 OE */
    { 861, 8, 4, 4, 0, -4 },  /* 0x153 oe */
    { 865, 8, 5, 4, 0, -5 },  /* 0x160 Scaron */
    { 870, 8, 5, 4, 0, -5 },  /* 0x161 scaron */
    { 875, 8, 5, 4, 0, -5 },  /* 0x178 Ydieresis */
    { 880, 8, 5, 4, 0, -5 },  /* 0x17D Zcaron */
    { 885, 8, 5, 4, 0, -5 },  /* 0x17E zcaron */
    { 890, 8, 1, 2, 0, -1 },  /* 0xEA4 uni0EA4 */
    { 891, 8, 1, 2, 0, -1 },  /* 0x13A0 uni13A0 */
    { 892, 8, 1, 2, 0, -3 },  /* 0x2022 bullet */
    { 893, 8, 1, 4, 0, -1 },  /* 0x2026 ellipsis */
    { 894, 8, 5, 4, 0, -5 },  /* 0x20AC Euro */
    { 899, 8, 5, 4, 0, -5 },  /* 0xFFFD uniFFFD */
    #endif /* (TOMTHUMB_USE_EXTENDED) */
};

const GFXfont TomThumb PROGMEM = {
    (uint8_t*)TomThumbBitmaps,
    (GFXglyph*)TomThumbGlyphs,
    0x20, 0x7E, 6
};
